home *** CD-ROM | disk | FTP | other *** search
/ Cream of the Crop 25 / Cream of the Crop 25.iso / program / tsetguid.zip / TEA / SET / SAMPLE / ORGANIZE.JAV < prev    next >
Text File  |  1997-02-27  |  9KB  |  309 lines

  1. /*
  2.  * Copyright (c) 1996-1997, InetSoft Technology Corp, All Rights Reserved.
  3.  *
  4.  * The software and information contained herein are copyrighted and 
  5.  * proprietary to InetSoft Technology Corp. This software is furnished 
  6.  * pursuant to a written license agreement and may be used, copied, 
  7.  * transmitted, and stored only in accordance with the terms of such 
  8.  * license and with the inclusion of the above copyright notice. Please 
  9.  * refer to the file "COPYRIGHT" for further copyright and licensing 
  10.  * information. This software and information or any other copies 
  11.  * thereof may not be provided or otherwise made available to any 
  12.  * other person. 
  13.  */
  14. package tea.set.sample;
  15.  
  16. import tea.set.*;
  17. import java.awt.*;
  18. import java.util.*;
  19.  
  20. /**
  21.  *
  22.  * @see Grid
  23.  * @see TextGrid
  24.  * @version 1.3, 01/31/97
  25.  * @author InetSoft Technology Corp
  26.  */
  27. public class Organizer extends Frame {
  28.    public Organizer() {
  29.       setLayout(new BorderLayout());
  30.       setMenuBar(new OrganizerMenu());
  31.       
  32.       add("Center", folder = new Folder());
  33.       folder.add("MCalendar", yearcal = new YearCal(3, 4));
  34.       yearcal.setRuling(Grid.VERTICAL | Grid.HORIZONTAL);
  35.       folder.add("To Do", new ToDo());
  36.       folder.add("Notes", new Notes());
  37.       folder.add("Address", new Address());
  38.       
  39.       int year = (new Date()).getYear();
  40.       months = new MonthWin[12];
  41.       for(int i = 0; i < 12; i++) {
  42.      months[i] = new MonthWin(this, year, i);
  43.       }
  44.    }
  45.  
  46.    public boolean action(Event e, Object arg) {
  47.       if(e.target instanceof MenuItem) {
  48.      if(arg.equals("Exit")) {
  49.         dispose();
  50.         System.exit(0);
  51.      }
  52.      else {
  53.         folder.toFront(arg.toString());
  54.      }
  55.       }
  56.       else if(e.target instanceof YearCal) {
  57.      int m = ((YearCal) e.target).getStartMonth();
  58.      if(m >= 0) {
  59.         months[m].pack();
  60.         months[m].show();
  61.      }
  62.       }
  63.       
  64.       return true;
  65.    }
  66.    
  67.    private Folder folder;
  68.    private YearCal yearcal;
  69.    private MonthWin months[];
  70.    
  71.    public static void main(String argv[]) {
  72.       Organizer org = new Organizer();
  73.       org.pack();
  74.       org.show();
  75.    }
  76. }
  77.  
  78. class OrganizerMenu extends MenuBar {
  79.    public OrganizerMenu() {
  80.       Menu file = new Menu("File");
  81.       file.add(new MenuItem("Exit"));
  82.       
  83.       Menu section = new Menu("Sections");
  84.       section.add(new MenuItem("MCalendar"));
  85.       section.add(new MenuItem("To Do"));
  86.       section.add(new MenuItem("Notes"));
  87.       section.add(new MenuItem("Address"));
  88.  
  89.       Menu help = new Menu("Help");
  90.       setHelpMenu(help);
  91.      
  92.       add(file);
  93.       add(section);
  94.       add(help);
  95.    }
  96. }
  97.  
  98. class MonthWin extends Dialog {
  99.    public MonthWin(Frame parent, int year, int mon) {
  100.       super(parent, "MCalendar " + MCalendar.getMonthName(mon) + " " + 
  101.         (year+1900), false);
  102.       setLayout(new BorderLayout());
  103.       add("Center", new Effect3D(new MonthCal(year, mon), 
  104.                  Effect3D.RAISED_BORDER));
  105.       
  106.       Panel p = new Panel();
  107.       p.add(new Button("Dismiss"));
  108.       add("South", p);
  109.    }
  110.    
  111.    public boolean action(Event e, Object arg) {
  112.       if(e.target instanceof Button && arg.equals("Dismiss")) {
  113.      hide();
  114.       }
  115.       return false;
  116.    }
  117. }
  118.  
  119. class ToDo extends Panel {
  120.    public ToDo() {
  121.       setLayout(new BorderLayout());
  122.       
  123.       String rheader[] = {"8:00am", "8:30", "9:00", "9:30", "10:00", 
  124.               "10:30", "11:00", "11:30", "12:00pm", "12:30",
  125.               "1:00", "1:30", "2:00", "2:30", "3:00", 
  126.               "3:30", "4:00", "4:30", "5:00", "5:30",
  127.               "6:00", "6:30", "7:00", "7:30", "8:00"};
  128.       String cheader[] = {"To Do"};
  129.       table = new TextGrid(rheader.length, cheader.length, 40, 1);
  130.       table.setEditable(true);
  131.       
  132.       Scroller scrolled = new Scroller(table, true, 150, 200);
  133.       //add("Center", scrolled);
  134.       add("Center", new Effect3D(scrolled, Effect3D.RAISED_BORDER));
  135.       table.setRowHeader(rheader);
  136.       table.setColHeader(cheader);
  137.       
  138.       // use Grid as a layout panel.
  139.       Panel p = new Panel();
  140.       p.setLayout(new BorderLayout());
  141.       Grid gd = new Grid(3, 1);
  142.       p.add("North", gd);
  143.       int row = 0;
  144.       Date today = new Date();
  145.       gd.setRuling(Grid.NONE);
  146.       
  147.       cal = new MCalendar();
  148.       gd.setCell(row++, 0, cal);
  149.       cal.select(today.getDate());
  150.       
  151.       String mon[] = {"Jan", "Feb", "Mar", "Apr", "May", "Jun",
  152.               "Jul", "Aug", "Sep", "Oct", "Nov", "Dec"};
  153.       month = new Spinner(mon);
  154.       month.setCurrent(today.getMonth());
  155.       gd.setCell(row++, 0, month);
  156.       
  157.       year = new Spinner(1990, 2010);
  158.       year.setCurrent(today.getYear() + 1900);
  159.       gd.setCell(row++, 0, year);
  160.       
  161.       add("West", p);
  162.    }
  163.    
  164.    public boolean action(Event e, Object arg) {
  165.       if(e.target instanceof MCalendar) {
  166.       }
  167.       else if(e.target instanceof Spinner) {
  168.      if(e.target == month) {
  169.         cal.setMonth(month.getCurrent());
  170.      }
  171.      else if(e.target == year) {
  172.         cal.setYear(year.getCurrent() - 1900);
  173.      }
  174.       }
  175.       return true;
  176.    }
  177.    
  178.    Spinner month, year;
  179.    MCalendar cal;
  180.    TextGrid table;
  181. }
  182.  
  183. class Notes extends Panel {
  184. }
  185.  
  186. class Address extends Panel {
  187.    public Address() {
  188.       setLayout(new BorderLayout());
  189.       
  190.       String header[] = {"First Name", "Last Name", "Phone", "Department"};
  191.       ml = new MultiList(4, 15);
  192.       ml.setTitle(header);
  193.       add("Center", new Effect3D(ml, Effect3D.LOWERED));
  194.       
  195.       Panel p = new Panel();
  196.       p.add(new Button("Add"));
  197.       p.add(new Button("Modify"));
  198.       p.add(new Button("Delete"));
  199.       add("North", p);
  200.    }
  201.    
  202.    public boolean action(Event e, Object arg) {
  203.       if(e.target instanceof Button) {
  204.      if(arg.equals("Add")) {
  205.         AddressEntryWin win = new AddressEntryWin(ml, true);
  206.         win.pack();
  207.         win.show();
  208.      }
  209.      else if(arg.equals("Modify")) {
  210.         AddressEntryWin win = new AddressEntryWin(ml, false);
  211.         win.pack();
  212.         win.show();
  213.      }
  214.      else if(arg.equals("Delete")) {
  215.         ml.removeRow(ml.getSelectedRow());
  216.      }
  217.       }
  218.       
  219.       return true;
  220.    }
  221.    
  222.    MultiList ml;
  223. }
  224.  
  225. class AddressEntryWin extends Frame {
  226.    public AddressEntryWin(MultiList list, boolean newrow) {
  227.       super("Address Entry Window");
  228.       setLayout(new BorderLayout(2, 5));
  229.       this.ml = list;
  230.       this.newrow = newrow;
  231.       
  232.       String row[] = {"", "", "", ""};
  233.       if(!newrow) {
  234.      int r = ml.getSelectedRow();
  235.      if(r >= 0) {
  236.         row = ml.getRow(ml.getSelectedRow());
  237.      }
  238.       }
  239.       
  240.       add("North", new Shade(new Label("Phone Record:")));
  241.       
  242.       grid = new Grid(4, 2);
  243.       grid.setRuling(Grid.NONE);
  244.       grid.set3D(Grid.LOWERED);
  245.       grid.setGap(Grid.ALL_CELL, Grid.ALL_CELL, new Insets(10, 2, 10, 2));
  246.       grid.setCell(0, 0, new Label("First Name"));
  247.       grid.setCell(1, 0, new Label("Last Name"));
  248.       grid.setCell(2, 0, new Label("Phone"));
  249.       grid.setCell(3, 0, new Label("Department"));
  250.       grid.setCell(0, 1, new Effect3D(new Cell(row[0], 20), 
  251.                       Effect3D.LOWERED));
  252.       grid.setCell(1, 1, new Effect3D(new Cell(row[1], 20), 
  253.                       Effect3D.LOWERED));
  254.       MaskText mt = new MaskText("([999]) [999]-[9999]");
  255.       if(row[2].length() > 0) {
  256.      mt.setText(row[2]);
  257.       }
  258.       grid.setCell(2, 1, new Effect3D(mt, Effect3D.LOWERED));
  259.       
  260.       ListText lt = new ListText(row[3]);
  261.       lt.add("Computer");
  262.       lt.add("Accounting");
  263.       lt.add("Marketing");
  264.       lt.add("Sales");
  265.       lt.add("Personnel");
  266.       lt.add("Legal");
  267.       lt.setForce(true);
  268.       grid.setCell(3, 1, new Effect3D(lt, Effect3D.LOWERED));
  269.       add("Center", grid);
  270.       
  271.       Panel p = new Panel();
  272.       p.add(new Button("OK"));
  273.       p.add(new Button("Cancel"));
  274.       add("South", p);
  275.    }
  276.    
  277.    public boolean action(Event e, Object arg) {
  278.       if(e.target instanceof Button) {
  279.      if(arg.equals("OK")) {
  280.         String[] row = new String[4];
  281.         for(int i = 0; i < row.length; i++) {
  282.            Effect3D e3 = (Effect3D) grid.getCell(i, 1);
  283.            TextEdit cell = (TextEdit) e3.getComponent(0);
  284.            row[i] = cell.getText();
  285.         }
  286.         
  287.         int r = ml.getSelectedRow();
  288.         if(r >= 0 && !newrow) {
  289.            ml.setRow(row, r);
  290.         }
  291.         else {
  292.            ml.addRow(row);
  293.         }
  294.         
  295.         dispose();
  296.      }
  297.      else if(arg.equals("Cancel")) {
  298.         dispose();
  299.      }
  300.       }
  301.       
  302.       return true;
  303.    }
  304.    
  305.    Grid grid;
  306.    boolean newrow;
  307.    MultiList ml;
  308. }
  309.